12.2. Структура каталогов и файлов
Приложения Apache Ozone: Структура каталогов и файлов
После установки Apache Ozone создаётся структура каталогов и файлов, которая помогает организовать работу системы, хранение данных, конфигурационные файлы и журналы. Знание структуры каталогов Ozone позволяет легче управлять компонентами кластера, настраивать конфигурацию и устранять неполадки. В этом разделе описаны основные каталоги и файлы Apache Ozone, их расположение и функции.
1. Основная структура каталогов Ozone
После установки Apache Ozone создают ся следующие основные каталоги:
-
bin/
Каталог содержит исполняемые файлы и скрипты для управления компонентами Ozone, включая Ozone Manager, Storage Container Manager, DataNode, S3 Gateway и Recon. -
conf/
Каталог конфигурационных файлов Ozone, включаяozone-site.xml
,core-site.xml
и другие файлы конфигурации. Эти файлы управляют настройками кластера, параметрами репликации, безопасностью и сетевыми параметрами. -
lib/
Каталог библиотек и зависимостей, необходимых для работы Apache Ozone. Содержит JAR-файлы с основными компонентами Ozone и сторонними библиотеками. -
logs/
Каталог для хранения лог-файлов компонентов Ozone. Журналы помогают отслеживать работу кластера и выявлять ошибки или проблемы. -
data/
Каталог по умолчанию для хранения данных Ozone, включая данные DataNode, Ozone Manager и Storage Container Manager. Этот каталог может быть настроен для каждого компонента в конфигурации. -
tmp/
Временный каталог для хранения временных файлов, созданных компонентами Ozone во время работы. Файлы в этом каталоге могут удаляться автоматически или вручную.
2. Основные файлы конфигурации
Apache Ozone использует несколько ключевых файлов конфигурации, которые находятся в каталоге conf/. Эти файлы управляют параметрами кластера, доступом и безопасностью.
-
ozone-site.xml
Основной файл конфигурации Apache Ozone. Здесь задаются параметры для всех компонентов, такие как адреса OM и SCM, уровень репликации, параметры безопасности, настройки S3 Gateway и другие. -
core-site.xml
Файл конфигурации Hadoop Core. Используется для указания файловой системы по умолчанию (например,o3fs
) и других общих параметров, таких как корневой URI для кластера Ozone. -
log4j.properties
Файл конфигурации для настройки логирования с помощью Log4j. Здесь можно настроить уровень логирования, формат вывода и пути хранения логов для различных компонентов Ozone. -
ozone-env.sh
Скрипт для настройки переменных среды, используемых Ozone. В этом файле можно задать путь к Java, параметры JVM и другие переменные, влияющие на работу компонентов Ozone.
3. Каталоги и файлы компонентов Ozone
Каждый компонент Apache Ozone — Ozone Manager (OM), Storage Container Manager (SCM), DataNode и Recon — имеет свои каталоги для хранения данных, логов и метаданных.
Ozone Manager (OM)
-
om.db/
Каталог для хранения базы данных Ozone Manager, содержащей метаданные о томах и бакетах. Этот каталог включает в себя файлы RocksDB, которые управляют ключами и метаданными в Ozone. -
om.version
Файл с информацией о версии Ozone Manager. Используется для совместимости при обновлениях Ozone.
Storage Container Manager (SCM)
-
scm.db/
Каталог для хранения базы данных Storage Container Manager. Включает в себя файлы RocksDB, которые содержат информацию о контейнерах, репликах и DataNode. -
scm.dn.sequence.id
Файл, в котором хранится последовательный идентификатор для DataNode, используемый SCM для отслеживания узлов DataNode в кластере. -
scm.version
Файл с информацией о версии SCM. Аналогичноom.version
, используется для управления версиями при обновлении SCM.
DataNode
-
hdds/
Основной каталог для хранения данных на узле DataNode. Этот каталог может быть настроен и разбит на несколько дисков для увеличения ёмкости. -
container.db/
Подкаталог с базой данных контейнеров, который содержит информацию о блоках данных, хранящихся на DataNode. -
datanode.id
Файл идентификатора DataNode. Каждый DataNode имеет уникальный идентификатор, который позволяет SCM отслеживать и управлять узлами DataNode.
Recon
-
recon.db/
База данных Recon, в которой хранятся данные для мониторинга и аналитики кластера. Содержит метрики, информацию о контейнерах и узлах, а также другие данные мониторинга. -
recon.version
Файл с информацией о версии Recon. Используется для управления версиями и обновления Recon.
4. Логи и файлы диагностики
Лог-файлы Apache Ozone помогают отслеживать работу компонентов и выявлять проблемы. Все логи по умолчанию находятся в каталоге logs/, однако их путь можно настроить в конфигурации Log4j.
-
om.log
Журнал Ozone Manager, содержащий информацию о запросах, операциях с томами и бакетами, а также диагностические сообщения. -
scm.log
Журнал Storage Container Manager. Включает в себя информацию о контейнерах, репликах, DataNode и действиях по балансировке. -
datanode.log
Журнал DataNode, содержащий информацию о блоках данных, хранимых на узле, и взаимодействиях с SCM. -
s3g.log
Журнал S3 Gateway, в котором фиксируются все операции, выполненные через S3-интерфейс, включая загрузку и скачивание данных, аутентификацию и операции управления. -
recon.log
Журнал Recon, содержащий метрики, состояния узлов и контейнеров, а также аналитическую информацию для мониторинга кластера.
5. Каталог временных файлов
Каталог tmp/ используется для временного хранения файлов, создаваемых компонентами Apache Ozone. Обычно файлы из этого каталога удаляются автоматически после завершения операций. Этот каталог может использоваться для промежуточных данных, которые не нужно хранить постоянно.
6. Рекомендации по управлению каталогами и файлами
-
Регулярное архивирование логов: Чтобы предотвратить переполнение диска, настройте ротацию логов, указав параметры ротации в
log4j.properties
. -
Мониторинг использования места в каталоге data/: Каталог data/ может занимать большой объём дискового пространства, особенно на DataNode. Рекомендуется следить за доступным пространством и при необходимости добавлять диски.
-
Резервное копирование базы данных OM и SCM: Периодически создавайте резервные копии баз данных om.db и scm.db для быстрого восстановления в случае сбоев.
-
Настройка переменных среды в ozone-env.sh: Обновите
ozone-env.sh
, чтобы указать пути к журналам, параметрам JVM и другим настройкам окружения, которые могут улучшить производительность и управляемость Ozone. -
Регулярная проверка версий: Следите за файлами
om.version
,scm.version
иrecon.version
при обновлении Apache Ozone, чтобы избежать несовместимостей.
Знание структуры каталогов и файлов Apache Ozone позволяет более эффективно управлять кластером, настраивать параметры хранения и диагностики, а также оперативно устранять возможные проблемы.